//package com.thinksns.sociax.t4.android.event;
//
//import android.content.Intent;
//import android.graphics.Rect;
//import android.os.Bundle;
//import android.text.Editable;
//import android.text.TextUtils;
//import android.text.TextWatcher;
//import android.view.Gravity;
//import android.view.KeyEvent;
//import android.view.View;
//import android.view.ViewGroup;
//import android.view.ViewTreeObserver;
//import android.view.WindowManager;
//import android.view.inputmethod.EditorInfo;
//import android.widget.AdapterView;
//import android.widget.EditText;
//import android.widget.ImageView;
//import android.widget.LinearLayout;
//import android.widget.ListView;
//import android.widget.TextView;
//
//import com.google.gson.Gson;
//import com.google.gson.reflect.TypeToken;
//import com.scwang.smartrefresh.layout.SmartRefreshLayout;
//import com.scwang.smartrefresh.layout.api.RefreshLayout;
//import com.scwang.smartrefresh.layout.listener.OnLoadmoreListener;
//import com.scwang.smartrefresh.layout.listener.OnRefreshListener;
//import com.thinksns.sociax.android.R;
//import com.thinksns.sociax.component.CustomTitle;
//import com.thinksns.sociax.component.LeftAndRightTitle;
//import com.thinksns.sociax.t4.adapter.EventListAdapter;
//import com.thinksns.sociax.t4.android.Thinksns;
//import com.thinksns.sociax.t4.android.ThinksnsAbscractActivity;
//import com.thinksns.sociax.t4.android.popupwindow.EventDateWindow;
//import com.thinksns.sociax.t4.android.popupwindow.EventMorePopWindow;
//import com.thinksns.sociax.t4.android.popupwindow.EventPopWindow;
//import com.thinksns.sociax.t4.android.video.ToastUtils;
//import com.thinksns.sociax.t4.model.EventCiModel;
//import com.thinksns.sociax.t4.model.EventCityModel;
//import com.thinksns.sociax.t4.model.EventListModel;
//import com.thinksns.sociax.t4.unit.UnitSociax;
//import com.thinksns.sociax.t4.util.LogUtils;
//import com.thinksns.sociax.thinksnsbase.activity.widget.EmptyLayout;
//import com.thinksns.sociax.thinksnsbase.network.ApiHttpClient;
//
//import org.json.JSONException;
//import org.json.JSONObject;
//
//import java.util.ArrayList;
//import java.util.List;
//
//import rx.Observable;
//import rx.Subscriber;
//
///**
// * Created by zhiyicx on 2017/4/24.
// */
//
//public class EventActivity extends ThinksnsAbscractActivity implements View.OnClickListener {
//
//    public final static int LIST_STATE = 1;
//    public final static int TOP_STATE = 2;
//
//    private TextView tv_event_category;
//    private TextView tv_event_city;
//    private TextView tv_event_sort;
//    private TextView tv_event_time;
//    private TextView event_cancel_tv;
//
//    private ImageView iv_back;
//    private ImageView iv_event_msg;
//    private ImageView iv_event_more;
//
//    private EditText search_event_et;
//    private LinearLayout ll_event_category;
//    private LinearLayout ll_event_city;
//    private LinearLayout ll_event_sort;
//    private LinearLayout ll_event_time;
//    private LinearLayout ll_event_all_category;
//    private EmptyLayout mEmptyLayout;
//    private SmartRefreshLayout smartRefreshLayout;
//
//    private ListView event_list_lv;
//    private EventListModel eventListModel;
//    private EventListAdapter adapter;
//    private EventPopWindow categoryEventPop;
//    private EventPopWindow cityEventPop;
//    private EventPopWindow otherEventPop;
//    private EventMorePopWindow morePopWindow;
//    private EventDateWindow eventDateWindow;
//
//    private String cid = "";
//    private String area = "";
//    private String time = "";
//    private String wd = "";
//    private String page = "";
//    private int nowPage;
//    private int maxPage = 1;
//    private int xianzaiPage = 0;
//
//    private List<EventCiModel> cateModels;
//    private List<EventCityModel> cityModels;
//    private ArrayList<EventCiModel> categoryList;
//
//    private int state = LIST_STATE;
//
//    @Override
//    public String getTitleCenter() {
//        return "活动";
//    }
//
//    @Override
//    protected CustomTitle setCustomTitle() {
//        CustomTitle title = new LeftAndRightTitle(this, R.drawable.img_back, R.drawable.icon_more);
//        return title;
//    }
//
//    @Override
//    protected int getLayoutId() {
//        return R.layout.event_activity;
//    }
//
//    @Override
//    protected void onCreate(Bundle savedInstanceState) {
//        super.onCreateNoTitle(savedInstanceState);
//        getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
//        initView();
//        initData();
//    }
//
//    @Override
//    public void finish() {
//        UnitSociax.hideSoftKeyboard(this, search_event_et);
//        super.finish();
//    }
//
//    /**
//     *
//     */
//    private void initView() {
//        smartRefreshLayout = (SmartRefreshLayout) findViewById(R.id.smart_refresh_layout);
//        tv_event_category = (TextView) findViewById(R.id.tv_event_category);
//        tv_event_city = (TextView) findViewById(R.id.tv_event_city);
//        tv_event_sort = (TextView) findViewById(R.id.tv_event_sort);
//        tv_event_time = (TextView) findViewById(R.id.tv_event_time);
//        event_cancel_tv = (TextView) findViewById(R.id.event_cancel_tv);
//        mEmptyLayout = (EmptyLayout) findViewById(R.id.empty_layout);
//        mEmptyLayout.setNoDataContent(getString(R.string.move_no_content));
//        mEmptyLayout.setErrorType(EmptyLayout.HIDE_LAYOUT);
//        iv_back = (ImageView) findViewById(R.id.iv_back);
//        iv_event_msg = (ImageView) findViewById(R.id.iv_event_msg);
//        iv_event_more = (ImageView) findViewById(R.id.iv_event_more);
//
//        ll_event_category = (LinearLayout) findViewById(R.id.ll_event_category);
//        ll_event_city = (LinearLayout) findViewById(R.id.ll_event_city);
//        ll_event_sort = (LinearLayout) findViewById(R.id.ll_event_sort);
//        ll_event_time = (LinearLayout) findViewById(R.id.ll_event_time);
//        ll_event_all_category = (LinearLayout) findViewById(R.id.ll_event_all_category);
//        search_event_et = (EditText) findViewById(R.id.search_event_et);
//        event_list_lv = (ListView) findViewById(R.id.pull_refresh_list);
//
//        iv_back.setOnClickListener(this);
//        iv_event_msg.setOnClickListener(this);
//        iv_event_more.setOnClickListener(this);
//        event_cancel_tv.setOnClickListener(this);
//        ll_event_category.setOnClickListener(this);
//        ll_event_city.setOnClickListener(this);
//        ll_event_sort.setOnClickListener(this);
//        ll_event_time.setOnClickListener(this);
//        search_event_et.setOnClickListener(this);
//
//        smartRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
//            @Override
//            public void onRefresh(RefreshLayout refreshlayout) {
//                if (state == LIST_STATE) {
//                    page = "";
//                    getList();
//                } else {
//                    page = "";
//                    getTopEvent();
//                }
//            }
//        });
//
//        smartRefreshLayout.setOnLoadmoreListener(new OnLoadmoreListener() {
//            @Override
//            public void onLoadmore(RefreshLayout refreshlayout) {
//                if (state == LIST_STATE) {
//                    nowPage += 1;
//                    page = Integer.toString(nowPage);
//                    getList();
//                } else {
//                    smartRefreshLayout.finishLoadmore();
//                }
//            }
//        });
//
//        adapter = new EventListAdapter(this);
//
//        event_list_lv.setAdapter(adapter);
//
//        /* 软键盘的回车键触发 */
//        search_event_et.setOnEditorActionListener(new TextView.OnEditorActionListener() {
//            @Override
//            public boolean onEditorAction(TextView textView, int i, KeyEvent keyEvent) {
//                if (i == EditorInfo.IME_ACTION_SEARCH) {
//                    wd = textView.getText().toString();
//                    page = "";
//                    getList();
//                }
//                return true;
//            }
//        });
//
//        event_list_lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
//            @Override
//            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//                Intent intent = new Intent(EventActivity.this, EventDetailActivity.class);
//                intent.putExtra("eid", ((EventListModel.DataBean) adapter.getItem(position)).getEid());
//                startActivity(intent);
//            }
//        });
//
//        search_event_et.addTextChangedListener(new TextWatcher() {
//            @Override
//            public void beforeTextChanged(CharSequence s, int start, int count, int after) {
//
//            }
//
//            @Override
//            public void onTextChanged(CharSequence s, int start, int before, int count) {
//
//            }
//
//            @Override
//            public void afterTextChanged(Editable s) {
//                if (TextUtils.isEmpty(search_event_et.getText())) {
//                    wd = "";
//                    page = "";
//                    getList();
//                }else{
//                    event_cancel_tv.setVisibility(View.VISIBLE);
//                }
//            }
//        });
//
//        setKeyBoardListener();
//    }
//
//    private void initData() {
//
//        getCateAll();
//        getAreaAll();
////        getList();
//        //换成刷新控件刷新动作
//        smartRefreshLayout.autoRefresh();
//        List<String> datas = new ArrayList<>();
//        datas.add("最新活动");
//        datas.add("推荐活动");
//        otherEventPop = new EventPopWindow(EventActivity.this, datas, 0,
//                ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//        otherEventPop.setDismissDialogListener(new EventPopWindow.DismissListener() {
//            @Override
//            public void onDismiss(int i) {
//                if (i == 0) {
//                    reset();
//                    getList();
//                    state = LIST_STATE;
//                    tv_event_sort.setText("最新");
//                } else {
//                    tv_event_city.setText("全国");
//                    tv_event_category.setText("全部");
//                    getTopEvent();
//                    state = TOP_STATE;
//                    tv_event_sort.setText("推荐");
//                }
//            }
//        });
//
//        eventDateWindow = new EventDateWindow.Builder(EventActivity.this)
//                .setWidth(ViewGroup.LayoutParams.MATCH_PARENT)
//                .setOnDismissListener(new EventDateWindow.OnDismissListener() {
//                    @Override
//                    public void onDismiss(long stime) {
//                        time = Long.toString(stime);
//                        page = "";
//                        getList();
//                    }
//                })
//                .build();
//        morePopWindow = new EventMorePopWindow(this, 0, ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//        morePopWindow.setEventClick(new EventMorePopWindow.OnEventClick() {
//            @Override
//            public void onEClick(int eCase) {
//                Intent intent;
//                switch (eCase) {
//                    case EventMorePopWindow.CHUANGJIAN: // 创建活动
//                        LogUtils.logE("CHUANGJIAN");
//                        morePopWindow.dismiss();
//                        intent = new Intent(EventActivity.this, EventCreateActivity.class);
//                        intent.putExtra("category", categoryList);
//                        startActivity(intent);
//                        break;
//                    case EventMorePopWindow.FAQI: // 发起活动
//                        LogUtils.logE("FAQI");
//                        morePopWindow.dismiss();
//                        intent = new Intent(EventActivity.this, EventCategoryActivity.class);
//                        intent.putExtra(EventCategoryActivity.ECASE, EventMorePopWindow.FAQI);
//                        startActivity(intent);
//                        break;
//                    case EventMorePopWindow.CANYU: // 参与活动
//                        LogUtils.logE("CANYU");
//                        morePopWindow.dismiss();
//                        intent = new Intent(EventActivity.this, EventCategoryActivity.class);
//                        intent.putExtra(EventCategoryActivity.ECASE, EventMorePopWindow.CANYU);
//                        startActivity(intent);
//                        break;
//                    case EventMorePopWindow.GUANZHU:
//                        LogUtils.logE("GUANZHU");
//                        morePopWindow.dismiss();
//                        intent = new Intent(EventActivity.this, EventCategoryActivity.class);
//                        intent.putExtra(EventCategoryActivity.ECASE, EventMorePopWindow.GUANZHU);
//                        startActivity(intent);
//                        break;
//                }
//            }
//        });
//    }
//
//    private List<EventListModel.DataBean> eventTops;
//
//    private void getTopEvent() {
//        Thinksns.getApplication().getApiEvent().getTopEvent(5, new ApiHttpClient.HttpResponseListener() {
//            @Override
//            public void onSuccess(Object result) {
//                String json = (String) result;
//                Gson gson = new Gson();
//                eventTops = gson.fromJson(json, new TypeToken<List<EventListModel.DataBean>>() {
//                }.getType());
//                if (eventTops == null) {
//                    eventTops = new ArrayList<>();
//                }
//                if (eventListModel != null && eventListModel.getNowPage() > 1) {
//                    adapter.insertDatas(eventTops);
//                } else {
//                    adapter.setDatas(eventTops);
//                }
//
//                page = Integer.toString(nowPage);
//
//                smartRefreshLayout.finishRefresh();
//
//            }
//
//            @Override
//            public void onError(Object result) {
//                LogUtils.logE("Event getTopEvent " + result);
//            }
//        });
//    }
//
//    private void getCateAll() {
//        categoryList = new ArrayList<>();
//        Thinksns.getApplication().getApiEvent().getCateAll(new ApiHttpClient.HttpResponseListener() {
//            @Override
//            public void onSuccess(Object result) {
//                LogUtils.logE("Event getCateAll " + result);
//                String json = (String) result;
//                if (TextUtils.isEmpty(json) || json.equals("null")) {
//                    json = "[]";
//                }
//                Gson gson = new Gson();
//                cateModels = gson.fromJson(json, new TypeToken<List<EventCiModel>>() {
//                }.getType());
//                if (cateModels == null) {
//                    cateModels = new ArrayList<EventCiModel>();
//                }
//                final List<String> datas = new ArrayList<>();
//                datas.add("全部");
//                Observable.from(cateModels)
//                        .subscribe(new Subscriber<EventCiModel>() {
//                            @Override
//                            public void onCompleted() {
//                                categoryEventPop = new EventPopWindow(EventActivity.this, datas, 0,
//                                        ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//                                categoryEventPop.setDismissDialogListener(new EventPopWindow.DismissListener() {
//                                    @Override
//                                    public void onDismiss(int i) {
//                                        if (i == 0) {
//                                            cid = "";
//                                            tv_event_category.setText("全部");
//                                        } else {
//                                            cid = Integer.toString(cateModels.get(i - 1).getCid());
//                                            tv_event_category.setText(cateModels.get(i - 1).getName());
//                                        }
//                                        page = "";
//                                        getList();
//                                    }
//                                });
//                            }
//
//                            @Override
//                            public void onError(Throwable e) {
//
//                            }
//
//                            @Override
//                            public void onNext(EventCiModel eventCiModel) {
//                                categoryList.add(eventCiModel);
//                                datas.add(eventCiModel.getName());
//                            }
//                        });
//            }
//
//            @Override
//            public void onError(Object result) {
//                LogUtils.logE("Event getCateAll " + result);
//            }
//        });
//    }
//
//    private void getAreaAll() {
//        Thinksns.getApplication().getApiEvent().getAreaAll(new ApiHttpClient.HttpResponseListener() {
//            @Override
//            public void onSuccess(Object result) {
//                LogUtils.logE("Event getAreaAll " + result);
//                String json = (String) result;
//                Gson gson = new Gson();
//                cityModels = gson.fromJson(json, new TypeToken<List<EventCityModel>>() {
//                }.getType());
//                final List<String> datas = new ArrayList<>();
//                datas.add("全国");
//                if (cityModels == null) {
//                    cityModels = new ArrayList<EventCityModel>();
//                }
//                Observable.from(cityModels)
//                        .subscribe(new Subscriber<EventCityModel>() {
//                            @Override
//                            public void onCompleted() {
//                                cityEventPop = new EventPopWindow(EventActivity.this, datas, 0,
//                                        ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
//                                cityEventPop.setDismissDialogListener(new EventPopWindow.DismissListener() {
//                                    @Override
//                                    public void onDismiss(int i) {
//                                        if (i == 0) {
//                                            area = "";
//                                            tv_event_city.setText("全国");
//                                        } else {
//                                            area = Integer.toString(cityModels.get(i - 1).getArea_id());
//                                            tv_event_city.setText(cityModels.get(i - 1).getTitle());
//                                        }
//                                        page = "";
//                                        getList();
//                                    }
//                                });
//                            }
//
//                            @Override
//                            public void onError(Throwable e) {
//
//                            }
//
//                            @Override
//                            public void onNext(EventCityModel eventCiModel) {
//                                datas.add(eventCiModel.getTitle());
//                            }
//                        });
//            }
//
//            @Override
//            public void onError(Object result) {
//                LogUtils.logE("Event getAreaAll " + result);
//            }
//        });
//    }
//
//    private void getList() {
//        if (isMax() && !page.equals("")) {
//            ToastUtils.showToast(getString(R.string.no_more_data));
//            event_list_lv.post(new Runnable() {
//                @Override
//                public void run() {
//                    smartRefreshLayout.finishRefresh();
//                    smartRefreshLayout.finishLoadmore();
//                }
//            });
//            return;
//        }
//        mEmptyLayout.setErrorType(EmptyLayout.HIDE_LAYOUT);
//        Thinksns.getApplication().getApiEvent().getList(cid, area, time, wd, page, new ApiHttpClient.HttpResponseListener() {
//            @Override
//            public void onSuccess(Object result) {
//                smartRefreshLayout.finishRefresh();
//                smartRefreshLayout.finishLoadmore();
//                LogUtils.logE("getList" + result.toString());
//                String json = (String) result;
//                int count = 0;
//                try {
//                    JSONObject jsonObject = new JSONObject(json);
//                    count = (int) jsonObject.get("count");
//                } catch (JSONException e) {
//                    e.printStackTrace();
//                }
//
//                if (count == 0) {
//                    /*显示缺省图*/
//                    adapter.clear();
//                    mEmptyLayout.setErrorType(EmptyLayout.NODATA);
//                    ToastUtils.showToast("暂无相关数据");
////                    adapter.setDatas(new ArrayList<EventListModel.DataBean>());
//                    return;
//                }
//                Gson gson = new Gson();
//                eventListModel = gson.fromJson(json, EventListModel.class);
//                if (eventListModel == null) {
//                    eventListModel = new EventListModel();
//                }
//                LogUtils.logE("getCount  " + eventListModel.getCount() + "  getTotalRows " + eventListModel.getTotalRows() + "  getTotalPages " + eventListModel.getTotalPages() + "  getNowPage " + eventListModel.getNowPage());
//                if (eventListModel.getNowPage() > 1) {
//                    adapter.insertDatas(eventListModel.getData());
//                } else {
//                    adapter.setDatas(eventListModel.getData());
//                }
//                nowPage = eventListModel.getNowPage();
//
//                page = Integer.toString(nowPage);
//
//                xianzaiPage = eventListModel.getNowPage();
//                maxPage = eventListModel.getTotalPages();
//            }
//
//            @Override
//            public void onError(Object result) {
//                smartRefreshLayout.finishRefresh();
//                smartRefreshLayout.finishLoadmore();
//                ToastUtils.showToast(R.string.net_fail);
//                LogUtils.logE("getList" + result.toString());
//            }
//        });
//    }
//
//    @Override
//    public void onClick(View view) {
//        switch (view.getId()) {
//            case R.id.ll_event_time:
//                eventDateWindow.showPopAsDropDown(ll_event_all_category, 0, 0, Gravity.BOTTOM);
//                break;
//            case R.id.ll_event_city:
//                cityEventPop.showPopAsDropDown(ll_event_all_category, 0, 0, Gravity.BOTTOM);
//                break;
//            case R.id.ll_event_sort:
//                otherEventPop.showPopAsDropDown(ll_event_all_category, 0, 0, Gravity.BOTTOM);
//                break;
//            case R.id.ll_event_category:
//                categoryEventPop.showPopAsDropDown(ll_event_all_category, 0, 0, Gravity.BOTTOM);
//                break;
//            case R.id.event_cancel_tv:
//                UnitSociax.hideSoftKeyboard(this, search_event_et);
//                event_cancel_tv.setVisibility(View.GONE);
//                search_event_et.setText("");
//                reset();
//                getList();
//                break;
//            case R.id.iv_back:
//                finish();
//                break;
//            case R.id.iv_event_msg:
//                Intent intent = new Intent(EventActivity.this, EventCommentActivity.class);
//                startActivity(intent);
//                break;
//            case R.id.iv_event_more:
//                morePopWindow.showPopAsDropDown(iv_event_more, 0, 0, Gravity.BOTTOM);
//                break;
//            case R.id.search_event_et:
//                event_cancel_tv.setVisibility(View.VISIBLE);
//                break;
//        }
//    }
//
//    public void reset() {
//        wd = "";
//        page = "";
//        maxPage = 1;
//        xianzaiPage = 0;
//    }
//
//    public boolean isMax() {
//        if (maxPage == xianzaiPage) {
//            return true;
//        } else {
//            return false;
//        }
//    }
//    private void setKeyBoardListener() {
//        findViewById(R.id.ll_parent).getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
//            @Override
//            public void onGlobalLayout() {
//                //判断窗口可见区域大小  
//                Rect r = new Rect();
//                // getWindowVisibleDisplayFrame()会返回窗口的可见区域高度  
//                getWindow().getDecorView().getWindowVisibleDisplayFrame(r);
//                //如果屏幕高度和Window可见区域高度差值大于整个屏幕高度的1/3，则表示软键盘显示中，否则软键盘为隐藏状态。
//                int mScreenHeight = com.thinksns.sociax.thinksnsbase.utils.UnitSociax.getWindowHeight(EventActivity.this);
//                int heightDifference = mScreenHeight - (r.bottom - r.top);
//                boolean isKeyboardShowing = heightDifference > mScreenHeight / 3;
//                if (!isKeyboardShowing && TextUtils.isEmpty(search_event_et.getText())) {
//                    event_cancel_tv.setVisibility(View.GONE);
//                }
//            }
//        });
//    }
//
//}
